package com.cmc.cloud.cmclink.doc.api.document.rep;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 提单收发通信息 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 *
 * @author codegen
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BlnoScnBaseRespDto {

    @Schema(description = "提单主信息id", example = "21942")
    private Long blnoId;

    @Schema(description = "相关方类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String partyTypeCode;

    @Schema(description = "公司客商主数据代码")
    private String csmCode;

    @Schema(description = "企业唯一识别码 前缀", requiredMode = Schema.RequiredMode.REQUIRED)
    private String uniqueIdentifierPre;

    @Schema(description = "企业唯一识别码 后缀")
    private String uniqueIdentifierFix;

    @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    private String companyName;

    @Schema(description = "公司地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String companyAddress;

    @Schema(description = "地址打印标识", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean addressPrintFlag;

    @Schema(description = "国家代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String countryCode;

    @Schema(description = "电话")
    private String telephone;

    @Schema(description = "电话打印标识")
    private Boolean telephonePrintFlag;

    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "邮箱打印标识")
    private Boolean emailPrintFlag;

    @Schema(description = "传真")
    private String fax;

    @Schema(description = "传真打印标识")
    private Boolean faxPrintFlag;

    @Schema(description = "城市")
    private String city;

    @Schema(description = "城市代码")
    private String cityCode;

    @Schema(description = "省份")
    private String province;

    @Schema(description = "省份代码")
    private String provinceCode;

    @Schema(description = "AEO（经认证的经营者）")
    private String aeo;

    @Schema(description = "邮政编码")
    private String zipCode;

}
